﻿using ProjectManager.Logic.Content;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ProjectManager.Interface
{
    internal interface ILocalFile
    {
        string GetRootPath();
        void GenerateProjectPath(string Url, out string rootPath, out string taskPath, out string memberPath);
        // 每一个项目对应自己在这个项目中的信息
        void UpdateProject(ProjectInformation projectInformation, MemberInformation memberInformation
            , string userName, string password);
        // 获取本地保存的所有项目信息以及自己在对应的项目里的信息
        List<(ProjectInformation, MemberInformation)> GetProjectList();
        // user config后续有可能会添加新的信息，所以这里传一个类
        // user config中保存的是当前的当前的项目和个人信息
        // 目前可以只保存项目ID
        void UpdateConfig(UserConfig userConfig);
        // 每次打开软件获取上一次退出时的项目信息和个人信息如果上一次没有保存，则返回第一个，如果没有，则返回null
        UserConfig? GetUserConfig();
    }
}
